package model;
import java.util.ArrayList;

/*****************************************
 * gameModelI
 * 
 * An interface for the game model
 * 
 * @author Stephen Gregory, Jun Wang
 *
 */

public interface gameModelI {
	public void setupGame();
	public ArrayList<log> getLogs(); 
	public frog getFrog();
	
	public log getActiveLog(); 
	public void setActiveLog(log log);
	
	public int getActiveLogIndex(); 
	public void setActiveLogIndex(int i); 
	
	public void setFrogPosVel(int posX, int posY, int velX);
	public int getNumLettersTyped();
	public void setNumLettersTyped(int l);
	public void moveLogs(int time);
	
	public int getActiveLogPoint();
	
	public void incCurScore();
	public void resetCurScore();
	public int getCurScore();
	
	//level relevant data
	
	//we should show total score instead of current score
	public int getTotalScore();
	
	public void nextStage();
	public int getStage();
	
	public int getLives();
	
	public void lifeLost();
	public boolean isGameOver();
	
	//methods for accessing and modifying the leaderboard
	public ArrayList<record> getLeaderBoard(); 
	public boolean isHighScore();
	public void setHighScore(String name);
	public void activeLogTyped();
	
	
}
